package com.goodmr.passport.account;

/**
 * 帐号数据逻辑
 *
 * @author <a href="mailto:bingdong13@msn.com">bigo</a>
 */
public interface AccountDao {

    /**
     * 创建帐号
     *
     * @param model 帐号平台信息
     * @return 帐号平台信息
     */
    PlatformModel generate(PlatformModel model);

    /**
     * 判断帐号是存在
     *
     * @param account 帐号
     * @return true or false
     */
    boolean existsByAccount(String account);

    /**
     * 根据 accountId 获取帐号信息
     *
     * @param accountId 帐号ID
     * @return 帐号信息
     */
    AccountModel findById(long accountId);

    /**
     * 根据 openId 获取帐号平台信息
     *
     * @param account 帐号
     * @return 帐号平台信息
     */
    PlatformModel findByOpenId(String account);

    /**
     * 帐号是否是正常状态
     *
     * @param accountId 帐号ID
     * @return true or false
     */
    boolean isNormal(long accountId);
}
